
const ushort TSin[] = { 0,6,12,18,25,31,37,43,50,56,62,69,75,81,87,94,100,106,113,119,125,131,138,144,150,157,163,169,175,182,188,194,
	201,207,213,219,226,232,238,245,251,257,263,270,276,282,289,295,301,307,314,320,326,332,339,345,351,358,364,370,376,383,389,395,
	402,408,414,420,427,433,439,446,452,458,464,471,477,483,490,496,502,508,515,521,527,533,540,546,552,559,565,571,577,584,590,596,
	603,609,615,621,628,634,640,646,653,659,665,672,678,684,690,697,703,709,716,722,728,734,741,747,753,759,766,772,778,785,791,797,
	803,810,816,822,829,835,841,847,854,860,866,872,879,885,891,898,904,910,916,923,929,935,941,948,954,960,967,973,979,985,992,998,
	1004,1010,1017,1023,1029,1036,1042,1048,1054,1061,1067,1073,1079,1086,1092,1098,1105,1111,1117,1123,1130,1136,1142,1148,1155,1161,1167,1173,1180,1186,1192,1199,
	1205,1211,1217,1224,1230,1236,1242,1249,1255,1261,1267,1274,1280,1286,1292,1299,1305,1311,1318,1324,1330,1336,1343,1349,1355,1361,1368,1374,1380,1386,1393,1399,
	1405,1411,1418,1424,1430,1437,1443,1449,1455,1462,1468,1474,1480,1487,1493,1499,1505,1512,1518,1524,1530,1537,1543,1549,1555,1562,1568,1574,1580,1587,1593,1599,
	1605,1612,1618,1624,1630,1637,1643,1649,1655,1662,1668,1674,1680,1687,1693,1699,1705,1712,1718,1724,1730,1737,1743,1749,1755,1762,1768,1774,1780,1787,1793,1799,
	1805,1812,1818,1824,1830,1837,1843,1849,1855,1862,1868,1874,1880,1887,1893,1899,1905,1912,1918,1924,1930,1936,1943,1949,1955,1961,1968,1974,1980,1986,1993,1999,
	2005,2011,2018,2024,2030,2036,2042,2049,2055,2061,2067,2074,2080,2086,2092,2099,2105,2111,2117,2124,2130,2136,2142,2148,2155,2161,2167,2173,2180,2186,2192,2198,
	2204,2211,2217,2223,2229,2236,2242,2248,2254,2260,2267,2273,2279,2285,2292,2298,2304,2310,2316,2323,2329,2335,2341,2348,2354,2360,2366,2372,2379,2385,2391,2397,
	2404,2410,2416,2422,2428,2435,2441,2447,2453,2459,2466,2472,2478,2484,2491,2497,2503,2509,2515,2522,2528,2534,2540,2546,2553,2559,2565,2571,2577,2584,2590,2596,
	2602,2608,2615,2621,2627,2633,2639,2646,2652,2658,2664,2670,2677,2683,2689,2695,2701,2708,2714,2720,2726,2732,2739,2745,2751,2757,2763,2770,2776,2782,2788,2794,
	2801,2807,2813,2819,2825,2831,2838,2844,2850,2856,2862,2869,2875,2881,2887,2893,2900,2906,2912,2918,2924,2930,2937,2943,2949,2955,2961,2968,2974,2980,2986,2992,
	2998,3005,3011,3017,3023,3029,3035,3042,3048,3054,3060,3066,3073,3079,3085,3091,3097,3103,3110,3116,3122,3128,3134,3140,3147,3153,3159,3165,3171,3177,3184,3190,
	3196,3202,3208,3214,3221,3227,3233,3239,3245,3251,3257,3264,3270,3276,3282,3288,3294,3301,3307,3313,3319,3325,3331,3337,3344,3350,3356,3362,3368,3374,3381,3387,
	3393,3399,3405,3411,3417,3424,3430,3436,3442,3448,3454,3460,3467,3473,3479,3485,3491,3497,3503,3510,3516,3522,3528,3534,3540,3546,3552,3559,3565,3571,3577,3583,
	3589,3595,3602,3608,3614,3620,3626,3632,3638,3644,3651,3657,3663,3669,3675,3681,3687,3693,3700,3706,3712,3718,3724,3730,3736,3742,3748,3755,3761,3767,3773,3779,
	3785,3791,3797,3803,3810,3816,3822,3828,3834,3840,3846,3852,3858,3865,3871,3877,3883,3889,3895,3901,3907,3913,3920,3926,3932,3938,3944,3950,3956,3962,3968,3974,
	3980,3987,3993,3999,4005,4011,4017,4023,4029,4035,4041,4047,4054,4060,4066,4072,4078,4084,4090,4096,4102,4108,4114,4121,4127,4133,4139,4145,4151,4157,4163,4169,
	4175,4181,4187,4193,4200,4206,4212,4218,4224,4230,4236,4242,4248,4254,4260,4266,4272,4278,4284,4291,4297,4303,4309,4315,4321,4327,4333,4339,4345,4351,4357,4363,
	4369,4375,4381,4387,4394,4400,4406,4412,4418,4424,4430,4436,4442,4448,4454,4460,4466,4472,4478,4484,4490,4496,4502,4508,4514,4521,4527,4533,4539,4545,4551,4557,
	4563,4569,4575,4581,4587,4593,4599,4605,4611,4617,4623,4629,4635,4641,4647,4653,4659,4665,4671,4677,4683,4689,4695,4701,4707,4713,4719,4725,4731,4737,4743,4750,
	4756,4762,4768,4774,4780,4786,4792,4798,4804,4810,4816,4822,4828,4834,4840,4846,4852,4858,4864,4870,4876,4882,4888,4894,4900,4906,4912,4918,4924,4930,4936,4942,
	4948,4954,4960,4966,4972,4978,4983,4989,4995,5001,5007,5013,5019,5025,5031,5037,5043,5049,5055,5061,5067,5073,5079,5085,5091,5097,5103,5109,5115,5121,5127,5133,
	5139,5145,5151,5157,5163,5169,5175,5181,5187,5193,5198,5204,5210,5216,5222,5228,5234,5240,5246,5252,5258,5264,5270,5276,5282,5288,5294,5300,5306,5312,5317,5323,
	5329,5335,5341,5347,5353,5359,5365,5371,5377,5383,5389,5395,5401,5407,5412,5418,5424,5430,5436,5442,5448,5454,5460,5466,5472,5478,5484,5490,5495,5501,5507,5513,
	5519,5525,5531,5537,5543,5549,5555,5560,5566,5572,5578,5584,5590,5596,5602,5608,5614,5620,5625,5631,5637,5643,5649,5655,5661,5667,5673,5679,5684,5690,5696,5702,
	5708,5714,5720,5726,5732,5737,5743,5749,5755,5761,5767,5773,5779,5784,5790,5796,5802,5808,5814,5820,5826,5831,5837,5843,5849,5855,5861,5867,5873,5878,5884,5890,
	5896,5902,5908,5914,5919,5925,5931,5937,5943,5949,5955,5960,5966,5972,5978,5984,5990,5996,6001,6007,6013,6019,6025,6031,6036,6042,6048,6054,6060,6066,6071,6077,
	6083,6089,6095,6101,6106,6112,6118,6124,6130,6136,6141,6147,6153,6159,6165,6171,6176,6182,6188,6194,6200,6205,6211,6217,6223,6229,6235,6240,6246,6252,6258,6264,
	6269,6275,6281,6287,6293,6298,6304,6310,6316,6322,6327,6333,6339,6345,6351,6356,6362,6368,6374,6380,6385,6391,6397,6403,6408,6414,6420,6426,6432,6437,6443,6449,
	6455,6460,6466,6472,6478,6484,6489,6495,6501,6507,6512,6518,6524,6530,6535,6541,6547,6553,6558,6564,6570,6576,6581,6587,6593,6599,6604,6610,6616,6622,6627,6633,
	6639,6645,6650,6656,6662,6668,6673,6679,6685,6691,6696,6702,6708,6714,6719,6725,6731,6736,6742,6748,6754,6759,6765,6771,6777,6782,6788,6794,6799,6805,6811,6817,
	6822,6828,6834,6839,6845,6851,6857,6862,6868,6874,6879,6885,6891,6896,6902,6908,6914,6919,6925,6931,6936,6942,6948,6953,6959,6965,6970,6976,6982,6988,6993,6999,
	7005,7010,7016,7022,7027,7033,7039,7044,7050,7056,7061,7067,7073,7078,7084,7090,7095,7101,7107,7112,7118,7124,7129,7135,7141,7146,7152,7158,7163,7169,7174,7180,
	7186,7191,7197,7203,7208,7214,7220,7225,7231,7237,7242,7248,7253,7259,7265,7270,7276,7282,7287,7293,7299,7304,7310,7315,7321,7327,7332,7338,7343,7349,7355,7360,
	7366,7372,7377,7383,7388,7394,7400,7405,7411,7416,7422,7428,7433,7439,7444,7450,7456,7461,7467,7472,7478,7484,7489,7495,7500,7506,7511,7517,7523,7528,7534,7539,
	7545,7551,7556,7562,7567,7573,7578,7584,7590,7595,7601,7606,7612,7617,7623,7628,7634,7640,7645,7651,7656,7662,7667,7673,7678,7684,7690,7695,7701,7706,7712,7717,
	7723,7728,7734,7739,7745,7751,7756,7762,7767,7773,7778,7784,7789,7795,7800,7806,7811,7817,7822,7828,7833,7839,7844,7850,7856,7861,7867,7872,7878,7883,7889,7894,
	7900,7905,7911,7916,7922,7927,7933,7938,7944,7949,7955,7960,7966,7971,7977,7982,7988,7993,7998,8004,8009,8015,8020,8026,8031,8037,8042,8048,8053,8059,8064,8070,
	8075,8081,8086,8092,8097,8102,8108,8113,8119,8124,8130,8135,8141,8146,8152,8157,8162,8168,8173,8179,8184,8190,8195,8201,8206,8211,8217,8222,8228,8233,8239,8244,
	8249,8255,8260,8266,8271,8277,8282,8287,8293,8298,8304,8309,8315,8320,8325,8331,8336,8342,8347,8352,8358,8363,8369,8374,8379,8385,8390,8396,8401,8406,8412,8417,
	8423,8428,8433,8439,8444,8449,8455,8460,8466,8471,8476,8482,8487,8493,8498,8503,8509,8514,8519,8525,8530,8535,8541,8546,8552,8557,8562,8568,8573,8578,8584,8589,
	8594,8600,8605,8610,8616,8621,8626,8632,8637,8642,8648,8653,8658,8664,8669,8674,8680,8685,8690,8696,8701,8706,8712,8717,8722,8728,8733,8738,8744,8749,8754,8760,
	8765,8770,8776,8781,8786,8791,8797,8802,8807,8813,8818,8823,8829,8834,8839,8844,8850,8855,8860,8866,8871,8876,8881,8887,8892,8897,8902,8908,8913,8918,8924,8929,
	8934,8939,8945,8950,8955,8960,8966,8971,8976,8981,8987,8992,8997,9002,9008,9013,9018,9023,9029,9034,9039,9044,9050,9055,9060,9065,9071,9076,9081,9086,9092,9097,
	9102,9107,9112,9118,9123,9128,9133,9138,9144,9149,9154,9159,9165,9170,9175,9180,9185,9191,9196,9201,9206,9211,9217,9222,9227,9232,9237,9243,9248,9253,9258,9263,
	9268,9274,9279,9284,9289,9294,9300,9305,9310,9315,9320,9325,9331,9336,9341,9346,9351,9356,9361,9367,9372,9377,9382,9387,9392,9398,9403,9408,9413,9418,9423,9428,
	9434,9439,9444,9449,9454,9459,9464,9469,9475,9480,9485,9490,9495,9500,9505,9510,9516,9521,9526,9531,9536,9541,9546,9551,9556,9562,9567,9572,9577,9582,9587,9592,
	9597,9602,9607,9612,9618,9623,9628,9633,9638,9643,9648,9653,9658,9663,9668,9673,9679,9684,9689,9694,9699,9704,9709,9714,9719,9724,9729,9734,9739,9744,9749,9754,
	9759,9764,9770,9775,9780,9785,9790,9795,9800,9805,9810,9815,9820,9825,9830,9835,9840,9845,9850,9855,9860,9865,9870,9875,9880,9885,9890,9895,9900,9905,9910,9915,
	9920,9925,9930,9935,9940,9945,9950,9955,9960,9965,9970,9975,9980,9985,9990,9995,10000,10005,10010,10015,10020,10025,10030,10035,10040,10045,10050,10055,10060,10065,10070,10075,
	10079,10084,10089,10094,10099,10104,10109,10114,10119,10124,10129,10134,10139,10144,10149,10154,10159,10163,10168,10173,10178,10183,10188,10193,10198,10203,10208,10213,10218,10222,10227,10232,
	10237,10242,10247,10252,10257,10262,10267,10271,10276,10281,10286,10291,10296,10301,10306,10311,10315,10320,10325,10330,10335,10340,10345,10350,10354,10359,10364,10369,10374,10379,10384,10389,
	10393,10398,10403,10408,10413,10418,10423,10427,10432,10437,10442,10447,10452,10456,10461,10466,10471,10476,10481,10485,10490,10495,10500,10505,10510,10514,10519,10524,10529,10534,10538,10543,
	10548,10553,10558,10562,10567,10572,10577,10582,10586,10591,10596,10601,10606,10610,10615,10620,10625,10630,10634,10639,10644,10649,10653,10658,10663,10668,10673,10677,10682,10687,10692,10696,
	10701,10706,10711,10715,10720,10725,10730,10734,10739,10744,10749,10753,10758,10763,10768,10772,10777,10782,10786,10791,10796,10801,10805,10810,10815,10820,10824,10829,10834,10838,10843,10848,
	10853,10857,10862,10867,10871,10876,10881,10885,10890,10895,10900,10904,10909,10914,10918,10923,10928,10932,10937,10942,10946,10951,10956,10960,10965,10970,10974,10979,10984,10988,10993,10998,
	11002,11007,11012,11016,11021,11026,11030,11035,11040,11044,11049,11053,11058,11063,11067,11072,11077,11081,11086,11090,11095,11100,11104,11109,11114,11118,11123,11127,11132,11137,11141,11146,
	11150,11155,11160,11164,11169,11173,11178,11183,11187,11192,11196,11201,11206,11210,11215,11219,11224,11228,11233,11238,11242,11247,11251,11256,11260,11265,11270,11274,11279,11283,11288,11292,
	11297,11301,11306,11311,11315,11320,11324,11329,11333,11338,11342,11347,11351,11356,11360,11365,11370,11374,11379,11383,11388,11392,11397,11401,11406,11410,11415,11419,11424,11428,11433,11437,
	11442,11446,11451,11455,11460,11464,11469,11473,11478,11482,11487,11491,11496,11500,11504,11509,11513,11518,11522,11527,11531,11536,11540,11545,11549,11554,11558,11563,11567,11571,11576,11580,
	11585,11589,11594,11598,11602,11607,11611,11616,11620,11625,11629,11634,11638,11642,11647,11651,11656,11660,11664,11669,11673,11678,11682,11686,11691,11695,11700,11704,11708,11713,11717,11722,
	11726,11730,11735,11739,11744,11748,11752,11757,11761,11765,11770,11774,11779,11783,11787,11792,11796,11800,11805,11809,11813,11818,11822,11827,11831,11835,11840,11844,11848,11853,11857,11861,
	11866,11870,11874,11879,11883,11887,11892,11896,11900,11904,11909,11913,11917,11922,11926,11930,11935,11939,11943,11948,11952,11956,11960,11965,11969,11973,11978,11982,11986,11990,11995,11999,
	12003,12008,12012,12016,12020,12025,12029,12033,12037,12042,12046,12050,12054,12059,12063,12067,12072,12076,12080,12084,12088,12093,12097,12101,12105,12110,12114,12118,12122,12127,12131,12135,
	12139,12143,12148,12152,12156,12160,12165,12169,12173,12177,12181,12186,12190,12194,12198,12202,12207,12211,12215,12219,12223,12227,12232,12236,12240,12244,12248,12253,12257,12261,12265,12269,
	12273,12278,12282,12286,12290,12294,12298,12302,12307,12311,12315,12319,12323,12327,12331,12336,12340,12344,12348,12352,12356,12360,12364,12369,12373,12377,12381,12385,12389,12393,12397,12402,
	12406,12410,12414,12418,12422,12426,12430,12434,12438,12442,12447,12451,12455,12459,12463,12467,12471,12475,12479,12483,12487,12491,12495,12500,12504,12508,12512,12516,12520,12524,12528,12532,
	12536,12540,12544,12548,12552,12556,12560,12564,12568,12572,12576,12580,12584,12588,12592,12596,12600,12605,12609,12613,12617,12621,12625,12629,12633,12637,12641,12645,12649,12653,12657,12661,
	12665,12668,12672,12676,12680,12684,12688,12692,12696,12700,12704,12708,12712,12716,12720,12724,12728,12732,12736,12740,12744,12748,12752,12756,12760,12764,12768,12771,12775,12779,12783,12787,
	12791,12795,12799,12803,12807,12811,12815,12819,12822,12826,12830,12834,12838,12842,12846,12850,12854,12858,12861,12865,12869,12873,12877,12881,12885,12889,12893,12896,12900,12904,12908,12912,
	12916,12920,12923,12927,12931,12935,12939,12943,12947,12950,12954,12958,12962,12966,12970,12974,12977,12981,12985,12989,12993,12997,13000,13004,13008,13012,13016,13019,13023,13027,13031,13035,
	13038,13042,13046,13050,13054,13057,13061,13065,13069,13073,13076,13080,13084,13088,13092,13095,13099,13103,13107,13110,13114,13118,13122,13125,13129,13133,13137,13141,13144,13148,13152,13156,
	13159,13163,13167,13170,13174,13178,13182,13185,13189,13193,13197,13200,13204,13208,13211,13215,13219,13223,13226,13230,13234,13237,13241,13245,13249,13252,13256,13260,13263,13267,13271,13274,
	13278,13282,13285,13289,13293,13296,13300,13304,13307,13311,13315,13318,13322,13326,13329,13333,13337,13340,13344,13348,13351,13355,13359,13362,13366,13369,13373,13377,13380,13384,13388,13391,
	13395,13398,13402,13406,13409,13413,13416,13420,13424,13427,13431,13434,13438,13442,13445,13449,13452,13456,13460,13463,13467,13470,13474,13477,13481,13485,13488,13492,13495,13499,13502,13506,
	13510,13513,13517,13520,13524,13527,13531,13534,13538,13541,13545,13549,13552,13556,13559,13563,13566,13570,13573,13577,13580,13584,13587,13591,13594,13598,13601,13605,13608,13612,13615,13619,
	13622,13626,13629,13633,13636,13640,13643,13647,13650,13654,13657,13661,13664,13668,13671,13674,13678,13681,13685,13688,13692,13695,13699,13702,13705,13709,13712,13716,13719,13723,13726,13730,
	13733,13736,13740,13743,13747,13750,13753,13757,13760,13764,13767,13771,13774,13777,13781,13784,13788,13791,13794,13798,13801,13804,13808,13811,13815,13818,13821,13825,13828,13831,13835,13838,
	13842,13845,13848,13852,13855,13858,13862,13865,13868,13872,13875,13878,13882,13885,13888,13892,13895,13898,13902,13905,13908,13912,13915,13918,13922,13925,13928,13932,13935,13938,13942,13945,
	13948,13951,13955,13958,13961,13965,13968,13971,13974,13978,13981,13984,13988,13991,13994,13997,14001,14004,14007,14010,14014,14017,14020,14023,14027,14030,14033,14036,14040,14043,14046,14049,
	14053,14056,14059,14062,14065,14069,14072,14075,14078,14082,14085,14088,14091,14094,14098,14101,14104,14107,14110,14114,14117,14120,14123,14126,14129,14133,14136,14139,14142,14145,14148,14152,
	14155,14158,14161,14164,14167,14171,14174,14177,14180,14183,14186,14190,14193,14196,14199,14202,14205,14208,14211,14215,14218,14221,14224,14227,14230,14233,14236,14239,14243,14246,14249,14252,
	14255,14258,14261,14264,14267,14270,14274,14277,14280,14283,14286,14289,14292,14295,14298,14301,14304,14307,14310,14313,14317,14320,14323,14326,14329,14332,14335,14338,14341,14344,14347,14350,
	14353,14356,14359,14362,14365,14368,14371,14374,14377,14380,14383,14386,14389,14392,14395,14398,14401,14404,14407,14410,14413,14416,14419,14422,14425,14428,14431,14434,14437,14440,14443,14446,
	14449,14452,14455,14458,14461,14464,14467,14470,14473,14475,14478,14481,14484,14487,14490,14493,14496,14499,14502,14505,14508,14511,14514,14516,14519,14522,14525,14528,14531,14534,14537,14540,
	14543,14545,14548,14551,14554,14557,14560,14563,14566,14569,14571,14574,14577,14580,14583,14586,14589,14591,14594,14597,14600,14603,14606,14609,14611,14614,14617,14620,14623,14626,14628,14631,
	14634,14637,14640,14643,14645,14648,14651,14654,14657,14659,14662,14665,14668,14671,14673,14676,14679,14682,14685,14687,14690,14693,14696,14698,14701,14704,14707,14710,14712,14715,14718,14721,
	14723,14726,14729,14732,14734,14737,14740,14743,14745,14748,14751,14754,14756,14759,14762,14764,14767,14770,14773,14775,14778,14781,14783,14786,14789,14792,14794,14797,14800,14802,14805,14808,
	14810,14813,14816,14819,14821,14824,14827,14829,14832,14835,14837,14840,14843,14845,14848,14851,14853,14856,14858,14861,14864,14866,14869,14872,14874,14877,14880,14882,14885,14887,14890,14893,
	14895,14898,14901,14903,14906,14908,14911,14914,14916,14919,14921,14924,14927,14929,14932,14934,14937,14939,14942,14945,14947,14950,14952,14955,14957,14960,14963,14965,14968,14970,14973,14975,
	14978,14980,14983,14986,14988,14991,14993,14996,14998,15001,15003,15006,15008,15011,15013,15016,15018,15021,15023,15026,15028,15031,15033,15036,15038,15041,15043,15046,15048,15051,15053,15056,
	15058,15061,15063,15066,15068,15071,15073,15076,15078,15080,15083,15085,15088,15090,15093,15095,15098,15100,15102,15105,15107,15110,15112,15115,15117,15119,15122,15124,15127,15129,15132,15134,
	15136,15139,15141,15144,15146,15148,15151,15153,15156,15158,15160,15163,15165,15167,15170,15172,15175,15177,15179,15182,15184,15186,15189,15191,15193,15196,15198,15200,15203,15205,15207,15210,
	15212,15214,15217,15219,15221,15224,15226,15228,15231,15233,15235,15238,15240,15242,15245,15247,15249,15251,15254,15256,15258,15261,15263,15265,15267,15270,15272,15274,15277,15279,15281,15283,
	15286,15288,15290,15292,15295,15297,15299,15301,15304,15306,15308,15310,15313,15315,15317,15319,15322,15324,15326,15328,15330,15333,15335,15337,15339,15341,15344,15346,15348,15350,15352,15355,
	15357,15359,15361,15363,15366,15368,15370,15372,15374,15376,15379,15381,15383,15385,15387,15389,15392,15394,15396,15398,15400,15402,15404,15407,15409,15411,15413,15415,15417,15419,15422,15424,
	15426,15428,15430,15432,15434,15436,15438,15441,15443,15445,15447,15449,15451,15453,15455,15457,15459,15461,15463,15466,15468,15470,15472,15474,15476,15478,15480,15482,15484,15486,15488,15490,
	15492,15494,15496,15498,15500,15503,15505,15507,15509,15511,15513,15515,15517,15519,15521,15523,15525,15527,15529,15531,15533,15535,15537,15539,15541,15543,15545,15547,15549,15551,15553,15555,
	15557,15559,15561,15562,15564,15566,15568,15570,15572,15574,15576,15578,15580,15582,15584,15586,15588,15590,15592,15594,15596,15597,15599,15601,15603,15605,15607,15609,15611,15613,15615,15617,
	15618,15620,15622,15624,15626,15628,15630,15632,15634,15635,15637,15639,15641,15643,15645,15647,15649,15650,15652,15654,15656,15658,15660,15662,15663,15665,15667,15669,15671,15673,15674,15676,
	15678,15680,15682,15683,15685,15687,15689,15691,15693,15694,15696,15698,15700,15702,15703,15705,15707,15709,15710,15712,15714,15716,15718,15719,15721,15723,15725,15726,15728,15730,15732,15733,
	15735,15737,15739,15740,15742,15744,15746,15747,15749,15751,15753,15754,15756,15758,15759,15761,15763,15765,15766,15768,15770,15771,15773,15775,15777,15778,15780,15782,15783,15785,15787,15788,
	15790,15792,15793,15795,15797,15798,15800,15802,15803,15805,15807,15808,15810,15812,15813,15815,15817,15818,15820,15821,15823,15825,15826,15828,15830,15831,15833,15834,15836,15838,15839,15841,
	15842,15844,15846,15847,15849,15850,15852,15854,15855,15857,15858,15860,15861,15863,15865,15866,15868,15869,15871,15872,15874,15876,15877,15879,15880,15882,15883,15885,15886,15888,15889,15891,
	15892,15894,15896,15897,15899,15900,15902,15903,15905,15906,15908,15909,15911,15912,15914,15915,15917,15918,15920,15921,15923,15924,15926,15927,15928,15930,15931,15933,15934,15936,15937,15939,
	15940,15942,15943,15944,15946,15947,15949,15950,15952,15953,15955,15956,15957,15959,15960,15962,15963,15964,15966,15967,15969,15970,15972,15973,15974,15976,15977,15978,15980,15981,15983,15984,
	15985,15987,15988,15990,15991,15992,15994,15995,15996,15998,15999,16000,16002,16003,16004,16006,16007,16008,16010,16011,16012,16014,16015,16016,16018,16019,16020,16022,16023,16024,16026,16027,
	16028,16030,16031,16032,16033,16035,16036,16037,16039,16040,16041,16042,16044,16045,16046,16048,16049,16050,16051,16053,16054,16055,16056,16058,16059,16060,16061,16063,16064,16065,16066,16067,
	16069,16070,16071,16072,16074,16075,16076,16077,16078,16080,16081,16082,16083,16084,16086,16087,16088,16089,16090,16092,16093,16094,16095,16096,16097,16099,16100,16101,16102,16103,16104,16106,
	16107,16108,16109,16110,16111,16112,16114,16115,16116,16117,16118,16119,16120,16121,16123,16124,16125,16126,16127,16128,16129,16130,16131,16133,16134,16135,16136,16137,16138,16139,16140,16141,
	16142,16143,16144,16146,16147,16148,16149,16150,16151,16152,16153,16154,16155,16156,16157,16158,16159,16160,16161,16162,16163,16164,16165,16166,16167,16168,16169,16170,16171,16172,16173,16174,
	16175,16176,16177,16178,16179,16180,16181,16182,16183,16184,16185,16186,16187,16188,16189,16190,16191,16192,16193,16194,16195,16196,16197,16198,16199,16200,16201,16202,16202,16203,16204,16205,
	16206,16207,16208,16209,16210,16211,16212,16213,16213,16214,16215,16216,16217,16218,16219,16220,16221,16221,16222,16223,16224,16225,16226,16227,16228,16228,16229,16230,16231,16232,16233,16234,
	16234,16235,16236,16237,16238,16239,16239,16240,16241,16242,16243,16244,16244,16245,16246,16247,16248,16248,16249,16250,16251,16252,16252,16253,16254,16255,16256,16256,16257,16258,16259,16260,
	16260,16261,16262,16263,16263,16264,16265,16266,16266,16267,16268,16269,16269,16270,16271,16272,16272,16273,16274,16274,16275,16276,16277,16277,16278,16279,16279,16280,16281,16282,16282,16283,
	16284,16284,16285,16286,16286,16287,16288,16288,16289,16290,16290,16291,16292,16292,16293,16294,16294,16295,16296,16296,16297,16298,16298,16299,16300,16300,16301,16301,16302,16303,16303,16304,
	16305,16305,16306,16306,16307,16308,16308,16309,16309,16310,16311,16311,16312,16312,16313,16314,16314,16315,16315,16316,16316,16317,16318,16318,16319,16319,16320,16320,16321,16321,16322,16323,
	16323,16324,16324,16325,16325,16326,16326,16327,16327,16328,16328,16329,16329,16330,16330,16331,16331,16332,16332,16333,16333,16334,16334,16335,16335,16336,16336,16337,16337,16338,16338,16339,
	16339,16340,16340,16340,16341,16341,16342,16342,16343,16343,16344,16344,16344,16345,16345,16346,16346,16347,16347,16347,16348,16348,16349,16349,16350,16350,16350,16351,16351,16352,16352,16352,
	16353,16353,16353,16354,16354,16355,16355,16355,16356,16356,16356,16357,16357,16357,16358,16358,16359,16359,16359,16360,16360,16360,16361,16361,16361,16362,16362,16362,16363,16363,16363,16363,
	16364,16364,16364,16365,16365,16365,16366,16366,16366,16366,16367,16367,16367,16368,16368,16368,16368,16369,16369,16369,16369,16370,16370,16370,16370,16371,16371,16371,16371,16372,16372,16372,
	16372,16373,16373,16373,16373,16374,16374,16374,16374,16374,16375,16375,16375,16375,16375,16376,16376,16376,16376,16376,16377,16377,16377,16377,16377,16377,16378,16378,16378,16378,16378,16378,
	16379,16379,16379,16379,16379,16379,16379,16380,16380,16380,16380,16380,16380,16380,16380,16381,16381,16381,16381,16381,16381,16381,16381,16381,16382,16382,16382,16382,16382,16382,16382,16382,
	16382,16382,16382,16382,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,
	16384 }; 
#define SScale 16384
#define SQuarter 4096
#define SThreeQuarter 12288
#define SHalfScale 8192

const ushort TCos[] = { 16384,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16383,16382,16382,16382,
	16382,16382,16382,16382,16382,16382,16382,16382,16382,16381,16381,16381,16381,16381,16381,16381,16381,16381,16380,16380,16380,16380,16380,16380,16380,16380,16379,16379,16379,16379,16379,16379,
	16379,16378,16378,16378,16378,16378,16378,16377,16377,16377,16377,16377,16377,16376,16376,16376,16376,16376,16375,16375,16375,16375,16375,16374,16374,16374,16374,16374,16373,16373,16373,16373,
	16372,16372,16372,16372,16371,16371,16371,16371,16370,16370,16370,16370,16369,16369,16369,16369,16368,16368,16368,16368,16367,16367,16367,16366,16366,16366,16366,16365,16365,16365,16364,16364,
	16364,16363,16363,16363,16363,16362,16362,16362,16361,16361,16361,16360,16360,16360,16359,16359,16359,16358,16358,16357,16357,16357,16356,16356,16356,16355,16355,16355,16354,16354,16353,16353,
	16353,16352,16352,16352,16351,16351,16350,16350,16350,16349,16349,16348,16348,16347,16347,16347,16346,16346,16345,16345,16344,16344,16344,16343,16343,16342,16342,16341,16341,16340,16340,16340,
	16339,16339,16338,16338,16337,16337,16336,16336,16335,16335,16334,16334,16333,16333,16332,16332,16331,16331,16330,16330,16329,16329,16328,16328,16327,16327,16326,16326,16325,16325,16324,16324,
	16323,16323,16322,16321,16321,16320,16320,16319,16319,16318,16318,16317,16316,16316,16315,16315,16314,16314,16313,16312,16312,16311,16311,16310,16309,16309,16308,16308,16307,16306,16306,16305,
	16305,16304,16303,16303,16302,16301,16301,16300,16300,16299,16298,16298,16297,16296,16296,16295,16294,16294,16293,16292,16292,16291,16290,16290,16289,16288,16288,16287,16286,16286,16285,16284,
	16284,16283,16282,16282,16281,16280,16279,16279,16278,16277,16277,16276,16275,16274,16274,16273,16272,16272,16271,16270,16269,16269,16268,16267,16266,16266,16265,16264,16263,16263,16262,16261,
	16260,16260,16259,16258,16257,16256,16256,16255,16254,16253,16252,16252,16251,16250,16249,16248,16248,16247,16246,16245,16244,16244,16243,16242,16241,16240,16239,16239,16238,16237,16236,16235,
	16234,16234,16233,16232,16231,16230,16229,16228,16228,16227,16226,16225,16224,16223,16222,16221,16221,16220,16219,16218,16217,16216,16215,16214,16213,16213,16212,16211,16210,16209,16208,16207,
	16206,16205,16204,16203,16202,16202,16201,16200,16199,16198,16197,16196,16195,16194,16193,16192,16191,16190,16189,16188,16187,16186,16185,16184,16183,16182,16181,16180,16179,16178,16177,16176,
	16175,16174,16173,16172,16171,16170,16169,16168,16167,16166,16165,16164,16163,16162,16161,16160,16159,16158,16157,16156,16155,16154,16153,16152,16151,16150,16149,16148,16147,16146,16144,16143,
	16142,16141,16140,16139,16138,16137,16136,16135,16134,16133,16131,16130,16129,16128,16127,16126,16125,16124,16123,16121,16120,16119,16118,16117,16116,16115,16114,16112,16111,16110,16109,16108,
	16107,16106,16104,16103,16102,16101,16100,16099,16097,16096,16095,16094,16093,16092,16090,16089,16088,16087,16086,16084,16083,16082,16081,16080,16078,16077,16076,16075,16074,16072,16071,16070,
	16069,16067,16066,16065,16064,16063,16061,16060,16059,16058,16056,16055,16054,16053,16051,16050,16049,16048,16046,16045,16044,16042,16041,16040,16039,16037,16036,16035,16033,16032,16031,16030,
	16028,16027,16026,16024,16023,16022,16020,16019,16018,16016,16015,16014,16012,16011,16010,16008,16007,16006,16004,16003,16002,16000,15999,15998,15996,15995,15994,15992,15991,15990,15988,15987,
	15985,15984,15983,15981,15980,15978,15977,15976,15974,15973,15972,15970,15969,15967,15966,15964,15963,15962,15960,15959,15957,15956,15955,15953,15952,15950,15949,15947,15946,15944,15943,15942,
	15940,15939,15937,15936,15934,15933,15931,15930,15928,15927,15926,15924,15923,15921,15920,15918,15917,15915,15914,15912,15911,15909,15908,15906,15905,15903,15902,15900,15899,15897,15896,15894,
	15892,15891,15889,15888,15886,15885,15883,15882,15880,15879,15877,15876,15874,15872,15871,15869,15868,15866,15865,15863,15861,15860,15858,15857,15855,15854,15852,15850,15849,15847,15846,15844,
	15842,15841,15839,15838,15836,15834,15833,15831,15830,15828,15826,15825,15823,15821,15820,15818,15817,15815,15813,15812,15810,15808,15807,15805,15803,15802,15800,15798,15797,15795,15793,15792,
	15790,15788,15787,15785,15783,15782,15780,15778,15777,15775,15773,15771,15770,15768,15766,15765,15763,15761,15759,15758,15756,15754,15753,15751,15749,15747,15746,15744,15742,15740,15739,15737,
	15735,15733,15732,15730,15728,15726,15725,15723,15721,15719,15718,15716,15714,15712,15710,15709,15707,15705,15703,15702,15700,15698,15696,15694,15693,15691,15689,15687,15685,15683,15682,15680,
	15678,15676,15674,15673,15671,15669,15667,15665,15663,15662,15660,15658,15656,15654,15652,15650,15649,15647,15645,15643,15641,15639,15637,15635,15634,15632,15630,15628,15626,15624,15622,15620,
	15618,15617,15615,15613,15611,15609,15607,15605,15603,15601,15599,15597,15596,15594,15592,15590,15588,15586,15584,15582,15580,15578,15576,15574,15572,15570,15568,15566,15564,15562,15561,15559,
	15557,15555,15553,15551,15549,15547,15545,15543,15541,15539,15537,15535,15533,15531,15529,15527,15525,15523,15521,15519,15517,15515,15513,15511,15509,15507,15505,15503,15500,15498,15496,15494,
	15492,15490,15488,15486,15484,15482,15480,15478,15476,15474,15472,15470,15468,15466,15463,15461,15459,15457,15455,15453,15451,15449,15447,15445,15443,15441,15438,15436,15434,15432,15430,15428,
	15426,15424,15422,15419,15417,15415,15413,15411,15409,15407,15404,15402,15400,15398,15396,15394,15392,15389,15387,15385,15383,15381,15379,15376,15374,15372,15370,15368,15366,15363,15361,15359,
	15357,15355,15352,15350,15348,15346,15344,15341,15339,15337,15335,15333,15330,15328,15326,15324,15322,15319,15317,15315,15313,15310,15308,15306,15304,15301,15299,15297,15295,15292,15290,15288,
	15286,15283,15281,15279,15277,15274,15272,15270,15267,15265,15263,15261,15258,15256,15254,15251,15249,15247,15245,15242,15240,15238,15235,15233,15231,15228,15226,15224,15221,15219,15217,15214,
	15212,15210,15207,15205,15203,15200,15198,15196,15193,15191,15189,15186,15184,15182,15179,15177,15175,15172,15170,15167,15165,15163,15160,15158,15156,15153,15151,15148,15146,15144,15141,15139,
	15136,15134,15132,15129,15127,15124,15122,15119,15117,15115,15112,15110,15107,15105,15102,15100,15098,15095,15093,15090,15088,15085,15083,15080,15078,15076,15073,15071,15068,15066,15063,15061,
	15058,15056,15053,15051,15048,15046,15043,15041,15038,15036,15033,15031,15028,15026,15023,15021,15018,15016,15013,15011,15008,15006,15003,15001,14998,14996,14993,14991,14988,14986,14983,14980,
	14978,14975,14973,14970,14968,14965,14963,14960,14957,14955,14952,14950,14947,14945,14942,14939,14937,14934,14932,14929,14927,14924,14921,14919,14916,14914,14911,14908,14906,14903,14901,14898,
	14895,14893,14890,14887,14885,14882,14880,14877,14874,14872,14869,14866,14864,14861,14858,14856,14853,14851,14848,14845,14843,14840,14837,14835,14832,14829,14827,14824,14821,14819,14816,14813,
	14810,14808,14805,14802,14800,14797,14794,14792,14789,14786,14783,14781,14778,14775,14773,14770,14767,14764,14762,14759,14756,14754,14751,14748,14745,14743,14740,14737,14734,14732,14729,14726,
	14723,14721,14718,14715,14712,14710,14707,14704,14701,14698,14696,14693,14690,14687,14685,14682,14679,14676,14673,14671,14668,14665,14662,14659,14657,14654,14651,14648,14645,14643,14640,14637,
	14634,14631,14628,14626,14623,14620,14617,14614,14611,14609,14606,14603,14600,14597,14594,14591,14589,14586,14583,14580,14577,14574,14571,14569,14566,14563,14560,14557,14554,14551,14548,14545,
	14543,14540,14537,14534,14531,14528,14525,14522,14519,14516,14514,14511,14508,14505,14502,14499,14496,14493,14490,14487,14484,14481,14478,14475,14473,14470,14467,14464,14461,14458,14455,14452,
	14449,14446,14443,14440,14437,14434,14431,14428,14425,14422,14419,14416,14413,14410,14407,14404,14401,14398,14395,14392,14389,14386,14383,14380,14377,14374,14371,14368,14365,14362,14359,14356,
	14353,14350,14347,14344,14341,14338,14335,14332,14329,14326,14323,14320,14317,14313,14310,14307,14304,14301,14298,14295,14292,14289,14286,14283,14280,14277,14274,14270,14267,14264,14261,14258,
	14255,14252,14249,14246,14243,14239,14236,14233,14230,14227,14224,14221,14218,14215,14211,14208,14205,14202,14199,14196,14193,14190,14186,14183,14180,14177,14174,14171,14167,14164,14161,14158,
	14155,14152,14148,14145,14142,14139,14136,14133,14129,14126,14123,14120,14117,14114,14110,14107,14104,14101,14098,14094,14091,14088,14085,14082,14078,14075,14072,14069,14065,14062,14059,14056,
	14053,14049,14046,14043,14040,14036,14033,14030,14027,14023,14020,14017,14014,14010,14007,14004,14001,13997,13994,13991,13988,13984,13981,13978,13974,13971,13968,13965,13961,13958,13955,13951,
	13948,13945,13942,13938,13935,13932,13928,13925,13922,13918,13915,13912,13908,13905,13902,13898,13895,13892,13888,13885,13882,13878,13875,13872,13868,13865,13862,13858,13855,13852,13848,13845,
	13842,13838,13835,13831,13828,13825,13821,13818,13815,13811,13808,13804,13801,13798,13794,13791,13788,13784,13781,13777,13774,13771,13767,13764,13760,13757,13753,13750,13747,13743,13740,13736,
	13733,13730,13726,13723,13719,13716,13712,13709,13705,13702,13699,13695,13692,13688,13685,13681,13678,13674,13671,13668,13664,13661,13657,13654,13650,13647,13643,13640,13636,13633,13629,13626,
	13622,13619,13615,13612,13608,13605,13601,13598,13594,13591,13587,13584,13580,13577,13573,13570,13566,13563,13559,13556,13552,13549,13545,13541,13538,13534,13531,13527,13524,13520,13517,13513,
	13510,13506,13502,13499,13495,13492,13488,13485,13481,13477,13474,13470,13467,13463,13460,13456,13452,13449,13445,13442,13438,13434,13431,13427,13424,13420,13416,13413,13409,13406,13402,13398,
	13395,13391,13388,13384,13380,13377,13373,13369,13366,13362,13359,13355,13351,13348,13344,13340,13337,13333,13329,13326,13322,13318,13315,13311,13307,13304,13300,13296,13293,13289,13285,13282,
	13278,13274,13271,13267,13263,13260,13256,13252,13249,13245,13241,13237,13234,13230,13226,13223,13219,13215,13211,13208,13204,13200,13197,13193,13189,13185,13182,13178,13174,13170,13167,13163,
	13159,13156,13152,13148,13144,13141,13137,13133,13129,13125,13122,13118,13114,13110,13107,13103,13099,13095,13092,13088,13084,13080,13076,13073,13069,13065,13061,13057,13054,13050,13046,13042,
	13038,13035,13031,13027,13023,13019,13016,13012,13008,13004,13000,12997,12993,12989,12985,12981,12977,12974,12970,12966,12962,12958,12954,12950,12947,12943,12939,12935,12931,12927,12923,12920,
	12916,12912,12908,12904,12900,12896,12893,12889,12885,12881,12877,12873,12869,12865,12861,12858,12854,12850,12846,12842,12838,12834,12830,12826,12822,12819,12815,12811,12807,12803,12799,12795,
	12791,12787,12783,12779,12775,12771,12768,12764,12760,12756,12752,12748,12744,12740,12736,12732,12728,12724,12720,12716,12712,12708,12704,12700,12696,12692,12688,12684,12680,12676,12672,12668,
	12665,12661,12657,12653,12649,12645,12641,12637,12633,12629,12625,12621,12617,12613,12609,12605,12600,12596,12592,12588,12584,12580,12576,12572,12568,12564,12560,12556,12552,12548,12544,12540,
	12536,12532,12528,12524,12520,12516,12512,12508,12504,12500,12495,12491,12487,12483,12479,12475,12471,12467,12463,12459,12455,12451,12447,12442,12438,12434,12430,12426,12422,12418,12414,12410,
	12406,12402,12397,12393,12389,12385,12381,12377,12373,12369,12364,12360,12356,12352,12348,12344,12340,12336,12331,12327,12323,12319,12315,12311,12307,12302,12298,12294,12290,12286,12282,12278,
	12273,12269,12265,12261,12257,12253,12248,12244,12240,12236,12232,12227,12223,12219,12215,12211,12207,12202,12198,12194,12190,12186,12181,12177,12173,12169,12165,12160,12156,12152,12148,12143,
	12139,12135,12131,12127,12122,12118,12114,12110,12105,12101,12097,12093,12088,12084,12080,12076,12072,12067,12063,12059,12054,12050,12046,12042,12037,12033,12029,12025,12020,12016,12012,12008,
	12003,11999,11995,11990,11986,11982,11978,11973,11969,11965,11960,11956,11952,11948,11943,11939,11935,11930,11926,11922,11917,11913,11909,11904,11900,11896,11892,11887,11883,11879,11874,11870,
	11866,11861,11857,11853,11848,11844,11840,11835,11831,11827,11822,11818,11813,11809,11805,11800,11796,11792,11787,11783,11779,11774,11770,11765,11761,11757,11752,11748,11744,11739,11735,11730,
	11726,11722,11717,11713,11708,11704,11700,11695,11691,11686,11682,11678,11673,11669,11664,11660,11656,11651,11647,11642,11638,11634,11629,11625,11620,11616,11611,11607,11602,11598,11594,11589,
	11585,11580,11576,11571,11567,11563,11558,11554,11549,11545,11540,11536,11531,11527,11522,11518,11513,11509,11504,11500,11496,11491,11487,11482,11478,11473,11469,11464,11460,11455,11451,11446,
	11442,11437,11433,11428,11424,11419,11415,11410,11406,11401,11397,11392,11388,11383,11379,11374,11370,11365,11360,11356,11351,11347,11342,11338,11333,11329,11324,11320,11315,11311,11306,11301,
	11297,11292,11288,11283,11279,11274,11270,11265,11260,11256,11251,11247,11242,11238,11233,11228,11224,11219,11215,11210,11206,11201,11196,11192,11187,11183,11178,11173,11169,11164,11160,11155,
	11150,11146,11141,11137,11132,11127,11123,11118,11114,11109,11104,11100,11095,11090,11086,11081,11077,11072,11067,11063,11058,11053,11049,11044,11040,11035,11030,11026,11021,11016,11012,11007,
	11002,10998,10993,10988,10984,10979,10974,10970,10965,10960,10956,10951,10946,10942,10937,10932,10928,10923,10918,10914,10909,10904,10900,10895,10890,10885,10881,10876,10871,10867,10862,10857,
	10853,10848,10843,10838,10834,10829,10824,10820,10815,10810,10805,10801,10796,10791,10786,10782,10777,10772,10768,10763,10758,10753,10749,10744,10739,10734,10730,10725,10720,10715,10711,10706,
	10701,10696,10692,10687,10682,10677,10673,10668,10663,10658,10653,10649,10644,10639,10634,10630,10625,10620,10615,10610,10606,10601,10596,10591,10586,10582,10577,10572,10567,10562,10558,10553,
	10548,10543,10538,10534,10529,10524,10519,10514,10510,10505,10500,10495,10490,10485,10481,10476,10471,10466,10461,10456,10452,10447,10442,10437,10432,10427,10423,10418,10413,10408,10403,10398,
	10393,10389,10384,10379,10374,10369,10364,10359,10354,10350,10345,10340,10335,10330,10325,10320,10315,10311,10306,10301,10296,10291,10286,10281,10276,10271,10267,10262,10257,10252,10247,10242,
	10237,10232,10227,10222,10218,10213,10208,10203,10198,10193,10188,10183,10178,10173,10168,10163,10159,10154,10149,10144,10139,10134,10129,10124,10119,10114,10109,10104,10099,10094,10089,10084,
	10079,10075,10070,10065,10060,10055,10050,10045,10040,10035,10030,10025,10020,10015,10010,10005,10000,9995,9990,9985,9980,9975,9970,9965,9960,9955,9950,9945,9940,9935,9930,9925,
	9920,9915,9910,9905,9900,9895,9890,9885,9880,9875,9870,9865,9860,9855,9850,9845,9840,9835,9830,9825,9820,9815,9810,9805,9800,9795,9790,9785,9780,9775,9770,9764,
	9759,9754,9749,9744,9739,9734,9729,9724,9719,9714,9709,9704,9699,9694,9689,9684,9679,9673,9668,9663,9658,9653,9648,9643,9638,9633,9628,9623,9618,9612,9607,9602,
	9597,9592,9587,9582,9577,9572,9567,9562,9556,9551,9546,9541,9536,9531,9526,9521,9516,9510,9505,9500,9495,9490,9485,9480,9475,9469,9464,9459,9454,9449,9444,9439,
	9434,9428,9423,9418,9413,9408,9403,9398,9392,9387,9382,9377,9372,9367,9361,9356,9351,9346,9341,9336,9331,9325,9320,9315,9310,9305,9300,9294,9289,9284,9279,9274,
	9268,9263,9258,9253,9248,9243,9237,9232,9227,9222,9217,9211,9206,9201,9196,9191,9185,9180,9175,9170,9165,9159,9154,9149,9144,9138,9133,9128,9123,9118,9112,9107,
	9102,9097,9092,9086,9081,9076,9071,9065,9060,9055,9050,9044,9039,9034,9029,9023,9018,9013,9008,9002,8997,8992,8987,8981,8976,8971,8966,8960,8955,8950,8945,8939,
	8934,8929,8924,8918,8913,8908,8902,8897,8892,8887,8881,8876,8871,8866,8860,8855,8850,8844,8839,8834,8829,8823,8818,8813,8807,8802,8797,8791,8786,8781,8776,8770,
	8765,8760,8754,8749,8744,8738,8733,8728,8722,8717,8712,8706,8701,8696,8690,8685,8680,8674,8669,8664,8658,8653,8648,8642,8637,8632,8626,8621,8616,8610,8605,8600,
	8594,8589,8584,8578,8573,8568,8562,8557,8552,8546,8541,8535,8530,8525,8519,8514,8509,8503,8498,8493,8487,8482,8476,8471,8466,8460,8455,8449,8444,8439,8433,8428,
	8423,8417,8412,8406,8401,8396,8390,8385,8379,8374,8369,8363,8358,8352,8347,8342,8336,8331,8325,8320,8315,8309,8304,8298,8293,8287,8282,8277,8271,8266,8260,8255,
	8249,8244,8239,8233,8228,8222,8217,8211,8206,8201,8195,8190,8184,8179,8173,8168,8162,8157,8152,8146,8141,8135,8130,8124,8119,8113,8108,8102,8097,8092,8086,8081,
	8075,8070,8064,8059,8053,8048,8042,8037,8031,8026,8020,8015,8009,8004,7998,7993,7988,7982,7977,7971,7966,7960,7955,7949,7944,7938,7933,7927,7922,7916,7911,7905,
	7900,7894,7889,7883,7878,7872,7867,7861,7856,7850,7844,7839,7833,7828,7822,7817,7811,7806,7800,7795,7789,7784,7778,7773,7767,7762,7756,7751,7745,7739,7734,7728,
	7723,7717,7712,7706,7701,7695,7690,7684,7678,7673,7667,7662,7656,7651,7645,7640,7634,7628,7623,7617,7612,7606,7601,7595,7590,7584,7578,7573,7567,7562,7556,7551,
	7545,7539,7534,7528,7523,7517,7511,7506,7500,7495,7489,7484,7478,7472,7467,7461,7456,7450,7444,7439,7433,7428,7422,7416,7411,7405,7400,7394,7388,7383,7377,7372,
	7366,7360,7355,7349,7343,7338,7332,7327,7321,7315,7310,7304,7299,7293,7287,7282,7276,7270,7265,7259,7253,7248,7242,7237,7231,7225,7220,7214,7208,7203,7197,7191,
	7186,7180,7174,7169,7163,7158,7152,7146,7141,7135,7129,7124,7118,7112,7107,7101,7095,7090,7084,7078,7073,7067,7061,7056,7050,7044,7039,7033,7027,7022,7016,7010,
	7005,6999,6993,6988,6982,6976,6970,6965,6959,6953,6948,6942,6936,6931,6925,6919,6914,6908,6902,6896,6891,6885,6879,6874,6868,6862,6857,6851,6845,6839,6834,6828,
	6822,6817,6811,6805,6799,6794,6788,6782,6777,6771,6765,6759,6754,6748,6742,6736,6731,6725,6719,6714,6708,6702,6696,6691,6685,6679,6673,6668,6662,6656,6650,6645,
	6639,6633,6627,6622,6616,6610,6604,6599,6593,6587,6581,6576,6570,6564,6558,6553,6547,6541,6535,6530,6524,6518,6512,6507,6501,6495,6489,6484,6478,6472,6466,6460,
	6455,6449,6443,6437,6432,6426,6420,6414,6408,6403,6397,6391,6385,6380,6374,6368,6362,6356,6351,6345,6339,6333,6327,6322,6316,6310,6304,6298,6293,6287,6281,6275,
	6269,6264,6258,6252,6246,6240,6235,6229,6223,6217,6211,6205,6200,6194,6188,6182,6176,6171,6165,6159,6153,6147,6141,6136,6130,6124,6118,6112,6106,6101,6095,6089,
	6083,6077,6071,6066,6060,6054,6048,6042,6036,6031,6025,6019,6013,6007,6001,5996,5990,5984,5978,5972,5966,5960,5955,5949,5943,5937,5931,5925,5919,5914,5908,5902,
	5896,5890,5884,5878,5873,5867,5861,5855,5849,5843,5837,5831,5826,5820,5814,5808,5802,5796,5790,5784,5779,5773,5767,5761,5755,5749,5743,5737,5732,5726,5720,5714,
	5708,5702,5696,5690,5684,5679,5673,5667,5661,5655,5649,5643,5637,5631,5625,5620,5614,5608,5602,5596,5590,5584,5578,5572,5566,5560,5555,5549,5543,5537,5531,5525,
	5519,5513,5507,5501,5495,5490,5484,5478,5472,5466,5460,5454,5448,5442,5436,5430,5424,5418,5412,5407,5401,5395,5389,5383,5377,5371,5365,5359,5353,5347,5341,5335,
	5329,5323,5317,5312,5306,5300,5294,5288,5282,5276,5270,5264,5258,5252,5246,5240,5234,5228,5222,5216,5210,5204,5198,5193,5187,5181,5175,5169,5163,5157,5151,5145,
	5139,5133,5127,5121,5115,5109,5103,5097,5091,5085,5079,5073,5067,5061,5055,5049,5043,5037,5031,5025,5019,5013,5007,5001,4995,4989,4983,4978,4972,4966,4960,4954,
	4948,4942,4936,4930,4924,4918,4912,4906,4900,4894,4888,4882,4876,4870,4864,4858,4852,4846,4840,4834,4828,4822,4816,4810,4804,4798,4792,4786,4780,4774,4768,4762,
	4756,4750,4743,4737,4731,4725,4719,4713,4707,4701,4695,4689,4683,4677,4671,4665,4659,4653,4647,4641,4635,4629,4623,4617,4611,4605,4599,4593,4587,4581,4575,4569,
	4563,4557,4551,4545,4539,4533,4527,4521,4514,4508,4502,4496,4490,4484,4478,4472,4466,4460,4454,4448,4442,4436,4430,4424,4418,4412,4406,4400,4394,4387,4381,4375,
	4369,4363,4357,4351,4345,4339,4333,4327,4321,4315,4309,4303,4297,4291,4284,4278,4272,4266,4260,4254,4248,4242,4236,4230,4224,4218,4212,4206,4200,4193,4187,4181,
	4175,4169,4163,4157,4151,4145,4139,4133,4127,4121,4114,4108,4102,4096,4090,4084,4078,4072,4066,4060,4054,4047,4041,4035,4029,4023,4017,4011,4005,3999,3993,3987,
	3980,3974,3968,3962,3956,3950,3944,3938,3932,3926,3920,3913,3907,3901,3895,3889,3883,3877,3871,3865,3858,3852,3846,3840,3834,3828,3822,3816,3810,3803,3797,3791,
	3785,3779,3773,3767,3761,3755,3748,3742,3736,3730,3724,3718,3712,3706,3700,3693,3687,3681,3675,3669,3663,3657,3651,3644,3638,3632,3626,3620,3614,3608,3602,3595,
	3589,3583,3577,3571,3565,3559,3552,3546,3540,3534,3528,3522,3516,3510,3503,3497,3491,3485,3479,3473,3467,3460,3454,3448,3442,3436,3430,3424,3417,3411,3405,3399,
	3393,3387,3381,3374,3368,3362,3356,3350,3344,3337,3331,3325,3319,3313,3307,3301,3294,3288,3282,3276,3270,3264,3257,3251,3245,3239,3233,3227,3221,3214,3208,3202,
	3196,3190,3184,3177,3171,3165,3159,3153,3147,3140,3134,3128,3122,3116,3110,3103,3097,3091,3085,3079,3073,3066,3060,3054,3048,3042,3035,3029,3023,3017,3011,3005,
	2998,2992,2986,2980,2974,2968,2961,2955,2949,2943,2937,2930,2924,2918,2912,2906,2900,2893,2887,2881,2875,2869,2862,2856,2850,2844,2838,2831,2825,2819,2813,2807,
	2801,2794,2788,2782,2776,2770,2763,2757,2751,2745,2739,2732,2726,2720,2714,2708,2701,2695,2689,2683,2677,2670,2664,2658,2652,2646,2639,2633,2627,2621,2615,2608,
	2602,2596,2590,2584,2577,2571,2565,2559,2553,2546,2540,2534,2528,2522,2515,2509,2503,2497,2491,2484,2478,2472,2466,2459,2453,2447,2441,2435,2428,2422,2416,2410,
	2404,2397,2391,2385,2379,2372,2366,2360,2354,2348,2341,2335,2329,2323,2316,2310,2304,2298,2292,2285,2279,2273,2267,2260,2254,2248,2242,2236,2229,2223,2217,2211,
	2204,2198,2192,2186,2180,2173,2167,2161,2155,2148,2142,2136,2130,2124,2117,2111,2105,2099,2092,2086,2080,2074,2067,2061,2055,2049,2042,2036,2030,2024,2018,2011,
	2005,1999,1993,1986,1980,1974,1968,1961,1955,1949,1943,1936,1930,1924,1918,1912,1905,1899,1893,1887,1880,1874,1868,1862,1855,1849,1843,1837,1830,1824,1818,1812,
	1805,1799,1793,1787,1780,1774,1768,1762,1755,1749,1743,1737,1730,1724,1718,1712,1705,1699,1693,1687,1680,1674,1668,1662,1655,1649,1643,1637,1630,1624,1618,1612,
	1605,1599,1593,1587,1580,1574,1568,1562,1555,1549,1543,1537,1530,1524,1518,1512,1505,1499,1493,1487,1480,1474,1468,1462,1455,1449,1443,1437,1430,1424,1418,1411,
	1405,1399,1393,1386,1380,1374,1368,1361,1355,1349,1343,1336,1330,1324,1318,1311,1305,1299,1292,1286,1280,1274,1267,1261,1255,1249,1242,1236,1230,1224,1217,1211,
	1205,1199,1192,1186,1180,1173,1167,1161,1155,1148,1142,1136,1130,1123,1117,1111,1105,1098,1092,1086,1079,1073,1067,1061,1054,1048,1042,1036,1029,1023,1017,1010,
	1004,998,992,985,979,973,967,960,954,948,941,935,929,923,916,910,904,898,891,885,879,872,866,860,854,847,841,835,829,822,816,810,
	803,797,791,785,778,772,766,759,753,747,741,734,728,722,716,709,703,697,690,684,678,672,665,659,653,646,640,634,628,621,615,609,
	603,596,590,584,577,571,565,559,552,546,540,533,527,521,515,508,502,496,490,483,477,471,464,458,452,446,439,433,427,420,414,408,
	402,395,389,383,376,370,364,358,351,345,339,332,326,320,314,307,301,295,289,282,276,270,263,257,251,245,238,232,226,219,213,207,
	201,194,188,182,175,169,163,157,150,144,138,131,125,119,113,106,100,94,87,81,75,69,62,56,50,43,37,31,25,18,12,6,0 }; 
	#define CScale 16384
	#define CQuarter 4096
	#define CThreeQuarter 12288
	#define CHalfScale 8192

